#pragma once

#include "AIS_InteractiveContext.hxx"
#include "AIS_InteractiveObject.hxx"
#include "TopTools_ListOfShape.hxx"


class SelectionTool
{
public:
	SelectionTool(Handle(AIS_InteractiveContext) theContext);

	~SelectionTool(){}
	
	virtual void Initialize(TopAbs_ShapeEnum selectionMode, Handle(SelectMgr_Filter) filter);
	virtual void Move(const Standard_Integer& x, const Standard_Integer&  y, const Handle(V3d_View)& myView);
	virtual void Pick(const Standard_Integer& x, const Standard_Integer&  y, const Handle(V3d_View)& myView);

	Handle(SelectMgr_Filter) GetFilter();

protected:
	Handle(AIS_InteractiveContext)	myAisContext;
	Handle(AIS_InteractiveObject)	myAisObject;

};

